home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / program / m4kit12.zip / README.TXT < prev    next >
Text File  |  1996-05-28  |  14KB  |  286 lines

  1.  
  2. The MetaKit Library                  Version 1.2                  May 28, 1996
  3. ==============================================================================
  4.  
  5.  
  6. DESCRIPTION
  7.  
  8.     The MetaKit Library is a software development library for data storage
  9.     and easy manipulation of structured objects and collections in C++. 
  10.     If you need bulky, powerful database functions look elsewhere, but if you
  11.     need a small self-contained library to store structured data, read on.
  12.  
  13.     This software is distributed as shareware. Full source code is available.
  14.     Please read the disclaimer, which is in the file "include\m4kit.h".  
  15.  
  16.     For the latest news about MetaKit, point your Internet browser to:
  17.                             http://purl.net/meta4/metakit
  18.  
  19.     For an example of its use, check out the "CatFish" disk catalog browser.
  20.     This freeware Windows utility demonstrates the size and speed of MetaKit.
  21.  
  22.  
  23. FEATURES
  24.  
  25.     MAKE YOUR STRUCTURED DATA PERSISTENT
  26.     + Data is loaded on-demand, with immediate access to any size data files.
  27.     + Modifications are only made permanent when explicitly committed.
  28.  
  29.     GET THE ADVANTAGES OF A DATABASE IN C++
  30.     + Any failure, even during commit, causes automatic rollback on next open.
  31.     + Automatic file storage allocation, all repair/reclaim is automatic.
  32.  
  33.     TRANSPORT YOUR DATA ANYWHERE
  34.     + All data can be flattened for streaming over a communications channel.
  35.     + Files are portable across platforms, several library ports are planned.
  36.  
  37.     RUN-TIME DATA STRUCTURES
  38.     + Data structures are dynamic, allowing you to write generic utilities.
  39.     + Deal with file format changes and multiple formats as your code evolves. 
  40.  
  41.     HIGH PERFORMANCE
  42.     + Can store millions of objects, instant access to any view/row/property.
  43.     + Storage overhead for large collections of small objects can be very low.
  44.  
  45.     NO INCONVENIENT COMPROMISES
  46.     + MetaKit does not depend on UI code, so it can be combined with any GUI.
  47.     + Existing class libraries are used for string & container implementation.
  48.  
  49.     EASY TO READ, EASY TO USE
  50.     + Only a few tiny header files, distracting details are well encapsulated.
  51.     + Uses view / row / property classes with [] and () operator overloading.
  52.  
  53.     YOU STAY IN CONTROL
  54.     + The code footprint of MetaKit is small, you can link it as LIB or DLL.
  55.     + Complete, commented source code of MetaKit is available. No royalties.
  56.  
  57.     ONE SIZE FITS ALL
  58.     + Small projects: simple headers, easy to work with, small code, any GUI.
  59.     + Very large projects: complex structures, huge files, portable, failsafe.
  60.  
  61.     SOLID AND SUPPORTED
  62.     + This design has evolved during many years of commercial C++ programming.
  63.     + Your questions, comments, and suggestions will be taken very seriously.
  64.  
  65.  
  66. GETTING STARTED
  67.  
  68.     To install this library and sample code, unpack the ZIP archive to a new
  69.     directory (such as "C:\M4KIT"). Make sure to keep the original directory
  70.     structure, with 'Use Directory Names' in WinZip or 'pkunzip -d' in MS-DOS.
  71.  
  72.     Please read the "WHATSNEW.TXT" file for the last-minute release details.
  73.  
  74.     The main introduction is in the file "M4KIT.HTM", which is in HTML format.
  75.     A copy of this is in "M4KIT.WRI", for use with Write/WordPad/QuickView.
  76.     The file "M4KITAPI.HLP" is the reference guide for this library (Winhelp).
  77.  
  78.     A simple disk-catalog program is included to illustrate many features.
  79.     Emphasis is on data-manipulation, this example uses a rudimentary UI.
  80.     The source code is in "examples\discat", the 16-bit Windows executable
  81.     is called "bin\discat16.exe", the 32-bit version is "bin\discat.exe".
  82.  
  83.     Note:   You will need Microsoft's MFC250.DLL to run the 16-bit version, or
  84.             the two files MFC40.DLL & MSVCRT40.DLL to run the 32-bit version.
  85.             If you do not have them, you may not be able to do much with the
  86.             current MFC-only version of this software library, unfortunately.
  87.  
  88.     The "dump.exe" utility dumps the contents of datafiles, the "struct.exe"
  89.     program shows their data structure, full source code for both is included.
  90.     The "catsend.exe" and "catrecv.exe" sample applications demonstrate the
  91.     exchange of MetaKit data over TCP/IP. The "ftpcat.exe" 32-bit console
  92.     application creates catalog of remote FTP server directories (which are
  93.     compatible with "discat").
  94.  
  95.     The CatFish disk catalog browser executable is available separately (see
  96.     the MetaKit home page), the source and makefile for a DLL version of this
  97.     program are included in this distribution.
  98.  
  99.  
  100. ROADMAP
  101.  
  102.     Several header files and libraries have the digit four in their name to
  103.     avoid potential name conflicts with other files on your system.
  104.  
  105.  
  106.     DIRECTORIES
  107.  
  108.         The shareware distribution has the following directory structure:
  109.  
  110.             bin\        Executables of the examples
  111.             examples\   Source code examples
  112.             include\    Header files
  113.             lib\        Libraries needed to build applications
  114.  
  115.         These directories contain everything you need to build applications
  116.         for 32-bit and 16-bit Windows, as well as for MS-DOS (large-model).
  117.  
  118.         In addition, the source code version includes these directories:
  119.  
  120.             src\        C++ source files and private headers
  121.             msvc152\    Microsoft Visual C++ 1.52 build areas
  122.             msvc41\     Microsoft Visual C++ 4.1 build areas
  123.  
  124.  
  125.     HEADER FILES
  126.  
  127.         The MetaKit library software is highly modular (loosely coupled).
  128.         As a consequence, the headers you need to look at are quite small.
  129.         The following headers are provided in the shareware version:
  130.  
  131.             include\m4kit.h     The single header you'll need to include.
  132.  
  133.         This is a wrapper for the following files:
  134.  
  135.             include\k4conf.h    Compatibility and common definitions
  136.             include\k4view.h    Definition of views, cursors, and rows
  137.  
  138.         The remaining include files contain some less essential details:
  139.  
  140.             include\k4table.h   Persistent storage details (low-level)
  141.             include\k4field.h   Structured field details (low-level)
  142.             include\k4viewx.h   Additional view classes, used internally
  143.             include\k4*.inl     Inline function definitions
  144.  
  145.         These files define all capabilities of the library, no more, no less.
  146.         The core functionality is provided by the View and Storage classes.
  147.  
  148.  
  149.     SOURCE CODE EXAMPLES
  150.  
  151.         These programs illustrate different aspects of the MetaKit library:
  152.  
  153.             examples\discat     A basic disk catalog, for Win16 and Win32.
  154.                                 Compiled as a small dialog-based application.
  155.                                 Shows use with a non-trivial data structure.
  156.  
  157.             examples\dump       A utility to dump the contents of a datafile.
  158.                                 Compiled as a (32-bit) console application.
  159.                                 Useful for debugging, various output formats.
  160.  
  161.             examples\struct     This utility displays the data structure of a
  162.                                 datafile as a graph. It is distributed as an
  163.                                 MS-DOS large-model real-mode executable.
  164.  
  165.             examples\catsend    Sends catalog file over a TCP/IP connection.
  166.                                 Compiled with MSVC 4 (Win32), uses Winsock.
  167.                                 Requires a catalog file created with discat.
  168.  
  169.             examples\catrecv    Receives and displays disk catalog as a tree.
  170.                                 In MSVC 4.1, requires Win95 for the new Tree
  171.                                 control (or perhaps Win32s version 1.30).
  172.                                 Requires catsend to feed it some information.
  173.  
  174.             examples\ftpcat     Similar to discat, but this console app will
  175.                                 generate tree catalogs of remote ftp servers.
  176.                                 Its catalog files are compatible with catsend